package com.example.demo.excelprint;

/**
 * 可设置参数见 https://learn.microsoft.com/zh-cn/office/vba/api/excel.pagesetup
 */
public enum ExcelPageSetup {
    /** 是否设置区域打印 false-否  设置输入区域如 A1:F16 */
    PRINTAREA("PrintArea","区域打印"),

    ORIENTATION("Orientation","输出方式：横向；纵向"),
    /**
     * 名称             值   Description
     * xlPaperA3	    8	A3（297 毫米 x 420 毫米）
     * xlPaperA4	    9	A4（210 毫米 x 297 毫米）
     * xlPaperA5	    11	A5（148 毫米 x 210 毫米）
     * xlPaperB4	    12	B4（250 毫米 x 354 毫米）
     * xlPaperB5	    13	A5（148 毫米 x 210 毫米）
     *
     */
    PAPERSIZE("PaperSize","页面大小"),

    TOPMARGIN("TopMargin","页边距-上边距"),
    BOTTOMMARGIN("BottomMargin","页边距-下边距"),
    LEFTMARGIN("LeftMargin","页边距-左边距"),
    RIGHTMARGIN("RightMargin","页边距-右边距"),
    LEFTHEADER("LeftHeader","页眉设置-页眉左侧"),
    CENTERHEADER("CenterHeader","页眉设置-页眉中间"),
    RIGHTHEADER("RightHeader","页眉设置-页眉右侧"),
    LEFTFOOTER("LeftFooter","页脚设置-页脚左侧"),
    CENTERFOOTER("CenterFooter","页脚设置-页脚中间"),
    RIGHTFOOTER("RightFooter","页脚设置-页脚右侧"),

    HEADERMARGIN("HeaderMargin","页眉边距"),
    FOOTERMARGIN("FooterMargin","页脚边距"),

    FITTOPAGESTALL("FitToPagesTall","自适应页高"),
    FITTOPAGESWIDE("FitToPagesWide","自适应页宽"),
    // Zoom 如果此属性为 False， 则 FitToPagesWide 和 FitToPagesTall 属性控制工作表的缩放方式。
    ZOOM("Zoom","内容缩放"),
    // Order xlDownThenOver 1 先行后列    xlOverThenDown 2 先列后行
    ORDER("Order","打印顺序"),
    // PrintTitleColumns 打印标题列 如A:E标识A到E列作为打印标题
    PRINTTITLECOLUMNS("PrintTitleColumns","打印标题列"),
    // 打印标题行 如1:2标识 1到2行 作为打印标题
    PRINTTITLEROWS("PrintTitleRows","打印标题行"),
    /*,

    NOSUPPORT("nosupportproperty","不支持的属性")*/;

    private String code;
    private String cnName;

    ExcelPageSetup(String code, String cnName){
        this.code = code;
        this.cnName = cnName;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCnName() {
        return cnName;
    }

    public void setCnName(String cnName) {
        this.cnName = cnName;
    }

//    public static ExcelPageSetup valueOf(String code) {
//        ExcelPageSetup[] arr = ExcelPageSetup.values();
//        for (ExcelPageSetup t : arr) {
//            if (t.getCode().equals(code)) {
//                return t;
//            }
//        }
//        return NOSUPPORT;
//    }
}
